login:        password:      
Combats Scrolls
Rambler's Top100
Гость БК
Profile Friend page
ru
 04-05-07 @ 23:10
Alex Nomad Open user info Open user photogallery
Начинающим клановым программистам. Часть I.
Итак, вы решили снабдить свой клановый сайт полезными сервисами. Лучше бросьте это занятие! В околоБКшном мире полно самых разных сервисов, которые повторяют друг друга как однояйцовые близнецы. Но при все продолжают плодиться сервисы-копии...

Если мои предыдущие слова не убедили, то тогда эта статья для вас. Я попробую кратко описать свой опыт написания сервисов для моего любимого клана. Здесь будут отражены только мои личные знания, мнения и умения. Никакого кода я приводить не буду – сами пишите. Но на начальном этапе я надеюсь смогу вам помочь.

Для начала попробуйте уяснить следующие моменты.

1. Никто не заинтересуется вашим сервисом, если он не отличается существенной (!) оригинальностью. И Сталкеры не опубликуют новость “У клана XXX появилась сто первая карта торговца”. Вам нужна ИДЕЯ! Напрягите всех в своем клане на этот счет.
В качестве примера приведу наш Анализатор. Уж сколько этих анализаторов написано, но мы сумели пробиться. Благодаря тому, что сделали анализатор для хаотов, в том числе для невидимых боев и для любого количества участников.

2. Детально продумайте дизайн своего сервиса, в первую очередь удобство использования. Все действия должны выполняться минимальным количеством кликов мыши. Пользователь не должен теряться в догадках, что и как ему сделать - не поленитесь снабдить сервис расширенными комментариями для «тупиц». Очень рекомендую вам для начала нарисовать внешний вид своего сервиса на бумаге, снабдив кнопки и ссылки описаниями их действий.
Как правило, на выполнение этого пункта у меня уходит почти половина всего времени, а может больше. Но только так можно сделать сервис, который найдет своих постоянных пользователей.

3. После того, как вы убеждены, что все отлично, то можно приступать к рисованию HTML кода сервиса. Мне больше импонирует FrontPage, но это дело вкуса. Прорисуйте весь сервис, запрограммируйте все java-скрипты. Вам наверняка понадобится руководство по DHTML.
Если в клане нет дизайнера, то составление стилей, рисование картинок, кнопочек и прочее тоже ляжет на вас. А что делать!

4. Теперь осталось написать основной код, об этом мы будем говорить дальше. Вообще-то Perl более эффективный язык, но я использую PHP, поскольку в клане его выбрали до меня.
При составлении кода постарайтесь придерживаться следующих правил:
- не делайте объем загружаемой страницы слишком большой, пожалейте трафик пользователей;
- не перегружайте сервак лишними вычислениями; продумайте доступ к базе данных.

5. Сервис готов! Теперь протестируйте его с сокланерами. Чем хуже они владеют компьютером, тем лучше. Чем больше вопросов об использовании они вам будут задавать, тем сильнее вы должны подумать о комментариях и пояснениях в сервисе. Да и сами время не теряйте – проверьте «защиту от дурака», а именно делайте в сервисе все неправильно, наверняка много ошибок выскочит.
Подойдите к тестированию со всей ответственностью, это дело не одного дня, иногда и недели не хватает.

6. А вы не забыли о тех поддержке? У пользователей Вашего сервиса могут возникать вопросы, замечания, сообщения об ошибках – они должны иметь возможность высказаться. Прикрепите к сервису ссылочку, только не на форум, где они должны регистрироваться! Не утруждайте пользователей делать лишние движения, они народ ленивый, пусть пишут под «гостями». Эта обратная связь вам это окупится многократно.

7. Пиар, - последний немаловажный этап. Если вам удалось заинтересовать Сталкеров – флаг вам в руки. В противном случае придется работать с людьми индивидуально – через глашатаев, знакомых, в комнатах новичков…

Мораль закончена. Приступим к изложению материала о программировании. Как правило, все БКшные сервисы получают из БК, обрабатывают и выдают в удобном виде некоторую информацию. Будь-то карта торговца, анализатор или какой-нибудь монитор. Чаще всего сложности начинают возникать уже на этапе получения информации.

В БК вся информация передается с помощью HTML-страниц, т.е. вы должны отправить на сервер какого-либо города http-запрос, в ответ получите некоторый текст, из которого надо выудить необходимые данные.

Все страницы БК делятся на два класса:
- открытые
- закрытые

Открытые страницы – это страницы, которые можно открыть, не входя в БК. Например, к ним относятся информация о персонаже, лог битвы и некоторые другие. Список известных мне открытых страниц БК приведен далее.
К закрытым страницам относятся все остальные страницы. Их вы так просто не откроете, тут нужна регистрация, а значит необходимо использовать клановых ботов. Вот вам и пример: http://angelscity.combats.ru/shop.pl?otdel1=1

Следует отдельно заметить, что для уменьшения нагрузки на сервера БК админы придумали прикольную вещь под названием «Ваш IP временно заблокирован». Если вы слишком часто загружаете открытые страницы с одного сервера (города), то с некоторого момента все запросы на с вашего IP начнут просто игнорироваться. Вы получите пустую страницу с сообщением «Ваш IP временно заблокирован». Это означает, что можно забыть на 5-15 минут о доступе к этому серверу БК (городу). Нередко для сервиса это является катастрофой. Об этом необходимо позаботится заранее, как правило, на этапе построения архитектуры сервиса. Возможно надо будет встроить систему кэширования страниц, например, используя базу данных.
Мой опыт показывает, что сервер стабильно воспринимает 5-7 запросов в минуту. Увеличение количества запросов ведет к блокировке IP.

Для закрытых страниц блокировка IP не производится. Но будьте благоразумны, не перегружайте серверы БК, им и так туго живется.

Приведем список открытых страниц и их различных нотаций:
http://angelscity.combats.ru/inf.pl?1133955702
http://angelscity.combats.ru/inf.pl?Alex+Nomad
http://angelscity.combats.ru/inf.pl?login=Alex+Nomad
http://angelscity.combats.ru/inf.pl?login=Alex+Nomad&short=1
http://angelscity.combats.ru/logs.pl?log=1176708178.98701
http://angelscity.combats.ru/logs.pl?log=1176708178.98701&p=3
http://angelscity.combats.ru/logs.pl?log=1176708178.98701&analiz2=Статистика
http://angelscity.combats.ru/zayavka.pl?logs=03.05.07&filter=Alex+Nomad&from=15
http://angelscity.combats.ru/station.pl?map=0.882176021709242
http://capitalcity.combats.ru/encicl/
http://capitalcity.combats.ru/encicl/subjects.html
http://capitalcity.combats.ru/encicl/object/armor96.html
http://top.combats.ru/
http://angelscity.combats.ru/forum.pl
http://event.combats.ru/
http://scrolls.combats.ru/


Первый и последний раз привожу код, в качестве примера доступа к БК. Дальше будут только намеки на лучшие решения.
Что означает этот код, додумывайтесь сами.
На этом первую часть повествования будем считать закрытой.


$login='Alex Nomad';

$login_encoded = urlencode($login);
$url="compress.zlib://http://emeraldscity.combats.ru/inf.pl?login={$login_encoded}&short=1";
$page=@file_get_contents($url);
if(!$page) {
..........$redirect_city="";
..........foreach ($http_response_header as $response) {
....................if (stristr(strtolower($response), 'location')) {
..............................preg_match("|http:\/\/(.*?).combats.ru(.*?)|", $response, $redirect_city);
..............................if(isset($redirect_city[1])) $redirect_city=$redirect_city[1];
..............................break;
....................}
..........}
..........if(!$redirect_city) die();
..........$url="compress.zlib://http://{$redirect_city}.combats.ru/inf.pl?login={$login_encoded}&short=1";
..........$page=@file_get_contents($url);
}
$page=str_replace("\r","", $page);
$page_str= explode("\n", $page);
$result=Array();
foreach ($page_str as $line){
..........preg_match("|([^=]*+)=(.+)|", $line, $data);
..........if(!empty($data))
....................$result[$data[1]]=$data[2];
}
print_r($result);

Я думаю, что это: Scrolls.multiLike:)

view mode: linear threads
Total disscussion threads: 9 Pages: 1
«« « 1 » »»

Post reply | Post reply with quote
Капитан Кук Open user info Open user photogallery
05-05-07 @ 12:51
copy link to clipboard
Привет, мой незнакомый друк=)

Помоги с тегами, пожалуйста=) Как скрывать текст под ссылками? т.е. при нажатию чтобы перекидывало на страницу дневника, где полный текст.
Жава тут не пашет?
Post reply Ответить с цитированием
Гость БК
07-05-07 @ 11:23
Re:
copy link to clipboard
Приветствую.
Если речь о скроллах, то все тэги описаны в хэлпе http://scrolls.combats.ru/doc/help/bb.html
Post reply Ответить с цитированием
Капитан Кук Open user info Open user photogallery
07-05-07 @ 22:43
copy link to clipboard
Нашел. Разобрался. Спасибо=)
Post reply Ответить с цитированием
Страничка БКС Open user info
17-05-07 @ 23:22
copy link to clipboard
спасибо
Post reply Ответить с цитированием
Гость БК
01-08-07 @ 11:45
copy link to clipboard
Alex Nomad.

Спасиб тебе))) сцуко... я готов убиться ап стену... все делал правильно, кроме одного момента:


> "compress.zlib://http://emeraldscity.combats.ru/inf.pl?login={$login_encoded}&short=1";


пошел читать что такое compress.zlib ;)
Post reply Ответить с цитированием
Гость БК
01-08-07 @ 11:46
Re:
copy link to clipboard
забыл подписаться

© Язон Дин Альт
Post reply Ответить с цитированием
Alex Nomad Open user info Open user photogallery
01-08-07 @ 13:25
Re: Re:
copy link to clipboard
удачи.
Post reply Ответить с цитированием
F L S Open user info
27-08-07 @ 14:02
copy link to clipboard
3. После того, как вы убеждены, что все отлично, то можно приступать к рисованию HTML кода сервиса. Мне больше импонирует FrontPage, но это дело вкуса. Прорисуйте весь сервис, запрограммируйте все java-скрипты. Вам наверняка понадобится руководство по DHTML.


Сразу рука мастера чувствуется!!! :)))))))))))))))))))))))


- не делайте объем загружаемой страницы слишком большой, пожалейте трафик пользователей
угу, как раз рисование сайта в FrontPage это и есть экономия трафика :)))))))

4. Теперь осталось написать основной код, об этом мы будем говорить дальше. Вообще-то Perl более эффективный язык, но я использую PHP - поскольку Perl я не знаю :))))))))))


Пиши исче!!!!
Post reply Ответить с цитированием
Alex Nomad Open user info Open user photogallery
27-08-07 @ 16:54
Re:
copy link to clipboard
Несмотря на то, что тон комментария достаточно язвительный - отвечу на него.
Во-первых, статья обозначена как "Начинающим ...", уровень читателя сразу обозначен.
Во-вторых, я никогда не позиционировал себя как гуру в разработке Интеренет-сервисов, а уж тем более дизайна. В реальной работе мне с этим не приходилось сталкиваться. Поэтому пишу ровно со своей колокольни.
В-третьих, Вы абсолютно правы с Perl я не знаком, хотя читаю его достаточно легко (все я зыки примерно похожи). Примерно также я мог сказать о PHP полтора года назад. На свете есть куча языков программирования, которых я не знаю, и только потому, что мне они были не нужны. Но мне захотелось написать клановые сервисы, и для этого я достаточно быстро выучил очередной (двадцатый или тридцатый) язык программирования.


В инфе у Вас я увидел предложения услуг "Создание сайтов, фирменных стилей, ...". Может быть мы увидим статью о том как надо правильно рисовать сайты, о сочетании цветов, стилях и прочее. Я бы сам с удовольствием прочитал.

П.С. FrontPage конечно дерьмо, но ставить и осваивать глюки других редакторов меня не тянет.
Post reply Ответить с цитированием
F L S Open user info
30-08-07 @ 12:41
copy link to clipboard
Во-первых, статья обозначена как "Начинающим ...", уровень читателя сразу обозначен

Довать советы не зная о чем идет речь, довольно глупое занятие, так как находясь в заблуждениях, вы ставите в заблуждение и других.

>Во-вторых, я никогда не позиционировал себя как гуру в разработке Интеренет-сервисов, а уж тем более
>дизайна. В реальной работе мне с этим не приходилось сталкиваться. Поэтому пишу ровно со своей колокольни.


Будучи не гуру, пытаетесь учить чему-то?

> я достаточно быстро выучил очередной (двадцатый или тридцатый) язык программирования.

1) О выученности можно поспорить на что угодно
2) Хотелось бы перечень выученных языков, чтобы вас не считали пустословным.


> Может быть мы увидим статью о том как надо правильно рисовать сайты, о сочетании цветов, стилях и прочее. Я бы сам с удовольствием прочитал.

Платите деньги и в двухдневный срок будет статья, могу и уроки дать.

> П.С. FrontPage конечно дерьмо, но ставить и осваивать глюки других редакторов меня не тянет.

А ручками, по памяти, слабо?
Post reply Ответить с цитированием
Alex Nomad Open user info Open user photogallery
31-08-07 @ 18:01
Re:
copy link to clipboard
>Довать советы не зная о чем идет речь, довольно глупое занятие, так как находясь в заблуждениях, вы ставите в заблуждение и других.
Если я где-то кого-то ввел в заблуждение - укажите. Буду премного благодарен.
Если вы считаете, что я даю советы не зная о чем идет речь, то не читайте.

>Хотелось бы перечень выученных языков, чтобы вас не считали пустословным
Краткий перечень выученных языков: как минимум пять ассемблеров включая для микроконтроллеров, С/С++, Pascal, PHP, SQL, Basic, Java, Prolog, Lisp, Fortran, Ada. Всех модификаций не перечисляю. Возможно еще какие-то, но было это давно, уже не помню всех.


>Платите деньги и в двухдневный срок будет статья, могу и уроки дать.
Критиковать - бесплатно, а вот сделать, то только за деньги?

>А ручками, по памяти, слабо?
слабо!
Post reply Ответить с цитированием
F L S Open user info
31-08-07 @ 18:58
copy link to clipboard
Если я где-то кого-то ввел в заблуждение - укажите. Буду премного благодарен.

Объясняю, фронт пейдж использыет для верстки таблицы, что не есть хорошо, табличнаяверстка тяжела как по объебу текста так и при создании таблицы в браузере. Следовательно этот метод не подходит для
"- не делайте объем загружаемой страницы слишком большой, пожалейте трафик пользователей;"
Чем не заблуждение?


Критиковать - бесплатно, а вот сделать, то только за деньги?
Конечно, за критику нынче вообще спасибо говорить должны, так как критика стимулирует к развитию и совершенствованию. Если бы когдато не критиковали меня, то я наврятли бы смогла критиковать Вас сейчас.

слабо!

А ведь зная перечисленные языки, запомнить и научится таблицам стилей, мне кажется не так уж и тяжело, у меня на изучение таблиц стилей и div-овой верстке ушла всего одна ночь. Я не думаю что зная мощьный асм древний "Ада" и "лисп" вы не сможите в них разобратся.


Короче, если что, пиши, звони, спрашивай, подскажу что надо.

ЗЫ: Фронт пейдж удали с компа и установи Zend
Post reply Ответить с цитированием
Alex Nomad Open user info Open user photogallery
03-09-07 @ 13:20
Re:
copy link to clipboard
По поводу верстки таблицами - полностью согласен. Я использую сочетание, таблиц и CSS (таблиц стилей).
По поводу FrontPage мы видимо говорим о разном, я использую его как редактор HTML текста и предварительный просмотр. Программирование и доводка продукта ведется естественно в Zend Studio. Но в нем не удобно просматривать результат.

А вот то, что я не упомянул Zend Studio в статье - это прокол. Видимо придется писать еще одну часть - о рабочем месте.

По поводу верстки на div'ах - пробовал, - не понравилось - долго.

П.С. FrontPage не удалю, т.к. во первых за него деньги плачены (как и за Zend Studio), во вторых он мне для работы нужен...
Post reply Ответить с цитированием
Гость БК
28-09-07 @ 03:09
copy link to clipboard
Интересный у вас разговор пошел, изаините за не втемность, но не могли бы написать что, нибудь про FrameWork-и, свое отношение ну или какой на ваш взгляд самый удобный, интересуют исключительно касающиеся PHP
Post reply Ответить с цитированием
Alex Nomad Open user info Open user photogallery
01-10-07 @ 13:42
Re:
copy link to clipboard
Я по совету друзей использую Zend Framework, других не использовал - поэтому сравнить не смогу.
Post reply Ответить с цитированием
Soltik Open user info Open user photogallery
10-10-07 @ 11:48
copy link to clipboard
А я уже наверное динозавр? Все по-старинке хоумсайтом от сосиски (5-летней давности) пользуюсь... Как хтмл-редактор вполне достаточно, а остальное - ручками..

F L S

Если судить по постам, то автор чуть более программист чем Вы.
Вопрос о перечне языков меня улыбнул.. Если понимаешь суть программирования - вопрос просто бессмысленный, опять таки автор прав.

Что касается верстки - таблицы рулили и рулить будут пока все не перейдут на XML, а дивы, цсс - как не были так и не будут чем-то стандартным и одинаковым для разных браузеров. Другое дело что таблицы тоже лучше ручками...

Alex Nomad
Афтар, пешы исчо!
Идея скролла хорошая, вмемориз типа..

Если начинающим понадобятся какие-то идейки или советы, тоже готов иногда подсказать по мере возможности.
Post reply Ответить с цитированием
Гость БК
19-05-09 @ 18:47
Ник
copy link to clipboard
$login='Alex Nomad';

у меня при запросе оно энкодится в
compress.zlib://http://emeraldscity.combats.ru/inf.pl?login=Alex+Nomad&short=1

Warning: file_get_contents() [function.file-get-contents]: HTTP request failed! HTTP/1.0 400 Bad Request on line 6

Warning: file_get_contents(compress.zlib://http://emeraldscity.combats.ru/inf.pl?login=L+Maximus&short=1) [function.file-get-contents]: failed to open stream: No error on line 6

Кто-то может обьяснить почему ники с пробелами не воспринимает, если бы ник был бы просто Alex, все бы открылось... Пробовал и заменять %20, не помогло.
Post reply Ответить с цитированием
Alex Nomad Open user info Open user photogallery
19-05-09 @ 20:19
Re: Ник
copy link to clipboard
Попробуй сначал сделать просто
$url="http://emeraldscity.combats.ru/inf.pl?login={$login_encoded}&short=1";
$page=@file_get_contents($url);

Если скачается - проблема в zlib, если нет, - надо дальше копать.
На первый взгляд проблем не вижу.

П.С. В совремсенных реалиях лучше использовать все-таки Curl - сейчас его ставят на сервера достаточно часто.
http://scrolls.combats.com/community/~developers/445953.html
Post reply Ответить с цитированием
Vampiere Open user info
25-11-09 @ 14:11
Re: Re: Ник
copy link to clipboard
Та же фигня что и у предыдущего гостя.
ники с пробелами не воспринимает.

Код
$url="http://emeraldscity.combats.ru/inf.pl?login={$login_encoded}&short=1";
$page=@file_get_contents($url);

так же не работает.
Post reply Ответить с цитированием
Vampiere Open user info
27-11-09 @ 03:43
Re: Re: Ник
copy link to clipboard
Пробелы оказались не причем. Точнее не совсем причем. Без них почему то инфу выдает без редиректа. Как не запрашивай.

А вот с пробелами уже выполняется часть кода с preg_match а там записан старый combats.ru
Post reply Ответить с цитированием
Alex Nomad Open user info Open user photogallery
27-11-09 @ 15:50
Re: Re: Re: Ник
copy link to clipboard
конечно же!!!
код старый - еще под combats.RU
Post reply Ответить с цитированием
Гость БК
27-11-09 @ 18:43
Re: Re: Re: Re: Ник
copy link to clipboard
Ага, только прежде чем обратить на это внимание убилась куча времени )))) В общем как всегда бывает.
Простую фигню труднее всего найти )
Post reply Ответить с цитированием

Post reply | Post reply with quote

Total disscussion threads: 9 Pages: 1
«« « 1 » »»


 
 © 2007–2024 «combats.com»
  18+  
feedback